import BaseMock from '@/mock/BaseMock'
import { MockBase } from '@/constant.js'
import { formatError, formatRes } from '@/mock.js'

export default class projReceAccountMock extends BaseMock {
  constructor (Mock) {
    let authMock = function (index) {
      return MockBase.mock(projAccountInfoList[index])
    }
    let subSys = 'zhongdeng'
    let moduleName = 'susinfoprocess/project'
    super(3,
      authMock,
      function (item, params) {
        if (!item.delStatus) {
          return false
        }
        var filterField = [
          {
            name: 'gysName',
            filterType: 'like'
          },
          {
            name: 'assetCode',
            filterType: 'eq'
          }]
        var rs = true
        if (params) {
          filterField.forEach(filter => {
            if (params[filter.name] && filter.filterType === 'like' && item[filter.name].indexOf(params[filter.name]) < 0) {
              rs = false
            } else if (params[filter.name] && filter.filterType === 'eq' && item[filter.name] !== params[filter.name]) {
              rs = false
            }
          })
        }
        return rs
      },
      subSys,
      moduleName,
      Mock,
      [],
      'keyId'
    )
  }
  otherMockApi () {
    let self = this
    // mock获取定义详情
    self.Mock.onGet(`/api/${this.subSys}/${this.module}/definitioninfo`).reply(config => {
      return new Promise((resolve, reject) => {
        if (!projDetailsList) {
          reject(formatError(200))
          return
        }
        let res = formatRes(projDetailsList)
        resolve([200, res])
      })
    })
  }
}

const projAccountInfoList = [
  {
    keyId: '1',
    // 查询编号
    queryNo: '001',
    // 查询时间
    queryTime: 1563177465000,
    // 登记证明编号
    djzmNum: '0000123',
    // 资产编号
    assetCode: 'ZC001',
    // 供应商名称(资金融入方名称)
    zjrrfName: '北京华润置地集团',
    // 项目公司名称
    projectCompanyName: '项目公司名称1',
    // 合同名称
    contractName: '01建设工程01公司',
    // 合同编号
    contractNum: 'HT11051501',
    // 发票号码
    receiptNumber: 'FP0001',
    // 转让金额
    transferAmount: 9860200000000.0000,
    // 登记时间
    registTime: 1566271954000,
    // 登记到期日
    djLimitDay: 1571277754000,
    // 总笔数
    totalNum: '20',
    // 需解析笔数
    needParseNum: '10',
    // 登记类别
    registCat: '1',
    // 受让人名称
    srrName: '张三',
    // 是否异常
    exceptionFlag: '1',
    // 可疑原因
    suspiciousReason: '可疑原因1',
    // 异常原因
    exceptionDesc: '',
    // 异常解决方案
    solution: '',
    // 财产描述
    transDesc: '陕西上林苑投资开发有限公司因项目销售产生的基于购房合同对购房人形成的应收账款债权共计36,400,000.00元。融博泰商业保理（上海）有限公司（以下简称“融博泰”）与上述公司签署的编号为2018001YG C陕西上林苑01的《保理合同》，根据《保理合同》的约定，融博泰已受让上述基础应收账款债权。应收账款债权清单详见附件转让合同。',
    // 打包id
    packageId: '1',
    // 外部机构id
    customerId: '1',
    // 外部机构名称
    customerName: '外部机构名称1',
    // 查询状态
    queryStatus: '查询中',
    // 登记期限
    registLimit: '2年',
    delStatus: true,
    debtor: '债务人',
    houseNum: '房号',
    accountReceivableJe: '应收账款金额',
    attachmentList: [
      {
        attachmentId: '1',
        attachmentName: '文件1',
        attachmentType: 'docx',
        foreignId: '1'
      },
      {
        attachmentId: '2',
        attachmentName: '文件2',
        attachmentType: 'doc',
        foreignId: '2'
      },
      {
        attachmentId: '3',
        attachmentName: '文件3',
        attachmentType: 'excel',
        foreignId: '3'
      }
    ]
  },
  {
    keyId: '2',
    // 查询编号
    queryNo: '002',
    // 查询时间
    queryTime: 1563177740000,
    // 登记证明编号
    djzmNum: '0000124',
    // 资产编号
    assetCode: 'ZC002',
    // 供应商名称(资金融入方名称)
    gysName: '成都华润置地集团',
    // 项目公司名称
    xmgsName: '项目公司名称2',
    // 合同名称
    htName: '02建设工程02公司',
    // 合同编号
    htNum: 'HT11051502',
    // 发票编号
    invoiceNum: 'FP0002',
    // 转让金额
    transJe: 962000000000.0000,
    // 登记时间
    registTime: 1566007354000,
    // 登记到期日
    djLimitDay: 1571277754000,
    // 总笔数
    totalNum: '20',
    // 需解析笔数
    needParseNum: '10',
    // 登记类别
    registCat: '1',
    // 受让人名称
    srrName: '王五',
    // 是否异常
    exceptionFlag: '0',
    // 可疑原因
    suspiciousReason: '可疑原因2',
    // 异常原因
    exceptionDesc: '',
    // 异常解决方案
    solution: '',
    // 财产描述
    transDesc: '天津世茂新领航置业有限公司根据与购买标的项目项下商品房的业主（下称“购房人”）签署的商品房买卖合同（下称“购房合同”）而持有在购房合同项下要求购房人支付剩余购房款、违约金、赔偿金、其他应付费用等相关款项的权利及经协商确定的其他债权（以下简称“标的债权”）合计人民币94,510,000.00元。',
    // 打包id
    packageId: '2',
    // 外部机构id
    customerId: '2',
    // 外部机构名称
    customerName: '外部机构名称2',
    // 查询状态
    queryStatus: '已完成',
    // 登记期限
    registLimit: '2年',
    delStatus: true,
    debtor: '债务人',
    houseNum: '房号',
    accountReceivableJe: '应收账款金额',
    attachmentList: []
  },
  {
    keyId: '3',
    // 查询编号
    queryNo: '003',
    // 查询时间
    queryTime: 1563177465000,
    // 登记证明编号
    djzmNum: '0000125',
    // 资产编号
    assetCode: 'ZC003',
    // 供应商名称(资金融入方名称)
    gysName: '深圳华润置地集团',
    // 项目公司名称
    xmgsName: '项目公司名称3',
    // 合同名称
    htName: '03建设工程03公司',
    // 合同编号
    htNum: 'HT11051503',
    // 发票编号
    invoiceNum: 'FP0003',
    // 转让金额
    transJe: 999900000000.0000,
    // 登记时间
    registTime: 1563328954000,
    // 登记到期日
    djLimitDay: 1571277754000,
    // 总笔数
    totalNum: '20',
    // 需解析笔数
    needParseNum: '10',
    // 登记类别
    registCat: '1',
    // 受让人名称
    srrName: '李四',
    // 是否异常
    exceptionFlag: '1',
    // 可疑原因
    suspiciousReason: '可疑原因3',
    // 异常原因
    exceptionDesc: '',
    // 异常解决方案
    solution: '',
    // 财产描述
    transDesc: '天津世茂新领航置业有限公司根据与购买标的项目项下商品房的业主（下称“购房人”）签署的商品房买卖合同（下称“购房合同”）而持有在购房合同项下要求购房人支付剩余购房款、违约金、赔偿金、其他应付费用等相关款项的权利及经协商确定的其他债权（以下简称“标的债权”）合计人民币94,510,000.00元。',
    // 打包id
    packageId: '3',
    // 外部机构id
    customerId: '3',
    // 外部机构名称
    customerName: '外部机构名称3',
    // 查询状态
    queryStatus: '未开始',
    // 登记期限
    registLimit: '1年',
    delStatus: true,
    debtor: '债务人',
    houseNum: '房号',
    accountReceivableJe: '应收账款金额',
    attachmentList: []
  }
]
const projDetailsList = {
  keyId: '1',
  assetDesc: '111111111111111111111111111111111111111',
  projectAssetElementDefinitionDTOList: [
    {
      assetCode: '1',
      beginTime: 1563177465000,
      csrrInfoId: '1',
      delStatus: true,
      djId: '1',
      endTime: 1563177465000,
      htName: '合同1',
      htNum: 'HT001',
      hxqyName: '核心企业1',
      invoiceNum: 'FP001',
      keyId: '1',
      project: '项目1',
      transJe: 1200000000.0000,
      xmgsName: '项目公司1',
      zjzmNum: '1'
    }
  ],
  projectExceptedAssetDTOList: [
    {
      assetType: '1',
      category: '1',
      categoryValue: '除外核心企业1',
      delStatus: true,
      keyId: '1',
      zdRegistrationCertificateCrrRelId: '1'
    },
    {
      assetType: '1',
      category: '1',
      categoryValue: '除外核心企业2',
      delStatus: true,
      keyId: '2',
      zdRegistrationCertificateCrrRelId: '1'
    },
    {
      assetType: '1',
      category: '2',
      categoryValue: '除外项目公司1',
      delStatus: true,
      keyId: '3',
      zdRegistrationCertificateCrrRelId: '1'
    },
    {
      assetType: '1',
      category: '2',
      categoryValue: '除外项目公司2',
      delStatus: true,
      keyId: '4',
      zdRegistrationCertificateCrrRelId: '1'
    },
    {
      assetType: '1',
      category: '3',
      categoryValue: '除外项目1',
      delStatus: true,
      keyId: '5',
      zdRegistrationCertificateCrrRelId: '1'
    },
    {
      assetType: '1',
      category: '5',
      categoryValue: 'FP1236',
      delStatus: true,
      keyId: '6',
      zdRegistrationCertificateCrrRelId: '1'
    }
  ]
}
